---
title: Script Installation
description: Script Installation
---

import { Advanced, Charts, Details, Modal, Steps, Tabs, TabItem, Card, CardGrid, LinkCard, Aside, Icon } from "/src/components/global.jsx"

:::note[Host environment]
The recommended build platform is Alpine Linux and the supported build method is via docker. It will just make things easier.

We do not support a non docker build environment. If you are not using docker, you are on your own.
:::

:::tip[Github Actions]
If you cannot or don't want to use docker, you can use the [Github Actions](/qbittorrent-nox-static/github-actions) to build the project by forking the repository.
:::

## Bootstrapping the container

<Tabs>
<TabItem value="Notes" label="Notes">

Some notes on the dockers method:

- The script installs the necessary dependencies so there is no docker file needed.
- We use a subdirectory `qbt`, not your `$HOME` directory, to avoid `.bashrc` and `.profile` conflicts.
- A subdirectory is automatically created, named `qbt` by the use of `-v $HOME/qbt:/root`
- The default path will be `HOME/qbt` outside the docker container and `/root/qbt` inside it.
- We use `-e "LANG=C.UTF-8"` with Debian based images to avoid some UTF errors.

:::tip[env file]
There are multiple ways to pass an env file when using Docker.

- You can use the `--env-file` switch when creating the docker and provide a file with your [envs](/qbittorrent-nox-static/build-help#env-settings).
- If a `.qbt_env` file is found in the same directory as the script, it will be used automatically.
- Using ENV in a dockerfile is also possible.
:::

</TabItem>

<TabItem value="Alpine Linux" label="Alpine">

:::note[tags]
You use `alpine:edge` `alpine:latest`
:::

To bootstrap the container:

```bash
docker run -it -w /root -p 8080:8080 -v ~/qbt:/root alpine:edge /bin/ash -c 'apk update && apk add bash curl && bash'
```

If you need to download the script use this command

```bash
curl -sLo qbittorrent-nox-static.sh git.io/qbstatic && chmod +x qbittorrent-nox-static.sh
```

</TabItem>

<TabItem value="Debian Linux" label="Debian">

:::note[tags]
You use `debian:bookworm` `debian:latest` or a supported tag
:::

To bootstrap the container:

```bash
docker run -it -w /root -p 8080:8080 -e "LANG=C.UTF-8" -v ~/qbt:/root debian:latest /bin/bash -c 'apt update && apt install -y curl && bash'
```

If you need to download the script use this command

```bash
curl -sLo qbittorrent-nox-static.sh git.io/qbstatic && chmod +x qbittorrent-nox-static.sh
```

</TabItem>
<TabItem value="Ubuntu Linux" label="Ubuntu">

:::note[tags]
You use `ubuntu:noble` `ubuntu:latest`
:::

To bootstrap the container:

```bash
docker run -it -w /root -p 8080:8080 -e "LANG=C.UTF-8" -v ~/qbt:/root ubuntu:latest /bin/bash -c 'apt update && apt install -y curl && bash'
```

If you need to download the script use this command

```bash
curl -sLo qbittorrent-nox-static.sh git.io/qbstatic && chmod +x qbittorrent-nox-static.sh
```

</TabItem>
</Tabs>

You are now ready to run the script.
